package Model;

import java.util.ArrayList;
import java.util.Observable;
import java.util.Observer;

import View.WieseVC;



public class Wiese extends Observable implements Observer {

	private ArrayList<Hecke> heckenListe;
	private ArrayList<OsterEi> eierListe;
	private Spieler spieler;
	
	
	public Wiese(Spieler spieler) {
		
		this.eierListe = new ArrayList<OsterEi>();
		this.spieler=spieler;
		this.heckenListe=new ArrayList<Hecke>();
		this.positioniereHecken();
	}

	public void addOsterEi(int x,int y){
		
		eierListe.add(new OsterEi(x,y,false));
		
	}
	
	
	public ArrayList<OsterEi> getEierListe() {
		return eierListe;
	}
	
	public boolean testWin(){
		
		boolean gewonnen=false;	
		
		for(OsterEi element: eierListe){
			
			if(element.isAusgepackt()){
				
				gewonnen=true;
				
			}
			else gewonnen=false;
			
		}
		return gewonnen;
		
	}

	public Spieler getSpieler() {
		return spieler;
	}

	public void positioniereHecken(){
		
		int x=50;
		for(int i=0;i<11;i++){
			
			heckenListe.add(new Hecke(x,50,40));
			heckenListe.add(new Hecke(x,410,40));
			x+=40;
			
			
		}
		int y=130;
		int x2=130;
		
		heckenListe.add(new Hecke(450,90,40));
		for(int i=0;i<8;i++){
			
			heckenListe.add(new Hecke(50,y,40));
			heckenListe.add(new Hecke(450,y,40));
			y+=40;
			if(i>0&&i<=8){
			heckenListe.add(new Hecke(x2,130,40));
			x2+=40;
			}
		}
		
		
		
		
		
		
		
		
		
		
	}
	
	public ArrayList<Hecke> getHeckenListe() {
		return heckenListe;
	}

	
	
	public void update(Observable arg0, Object arg1) {
		
		setChanged();
		notifyObservers();
		
	}


	
	
}
